import { NgModule } from "@angular/core";
import { CommonModule } from "@angular/common";
import { MainRoutingModule } from "./main-routing.module";

import { HomeComponent } from "./cpt/home/home.component";
import { PanelMarketComponent } from "./cpt/panel-market/panel-market.component";

import { CptsModule } from "@/cpts/cpts.module";

import { EffectsModule } from "@ngrx/effects";
import { MainEffects } from "@/main/store/effects/main.effects";
import * as fromMain from "@/main/store/reducers";
import * as fromTrade from "@/trade/store/reducers";
import { StoreModule, ActionReducerMap } from "@ngrx/store";

import { MatModule } from "@/mat/mat.module";

import { DirectivesModule } from "@/directives/directives.module";

import { FormsModule, ReactiveFormsModule } from "@angular/forms";

// l10n
import {
  L10nConfig,
  L10nLoader,
  LocalizationModule,
  LocaleValidationModule,
  StorageStrategy,
  ProviderType,
  ISOCode,
  TranslationConfig,
  TRANSLATION_CONFIG
} from "angular-l10n";

@NgModule({
  declarations: [HomeComponent, PanelMarketComponent],
  imports: [
    CommonModule,
    MainRoutingModule,
    CptsModule,
    LocalizationModule,
    MatModule,
    DirectivesModule,
    FormsModule,
    ReactiveFormsModule
    // EffectsModule.forFeature([MainEffects]),
    // StoreModule.forFeature("main", fromMain.reducers)
  ]
})
export class MainModule {}
